Historical Google Keywords Database
Historical Google Keyword Databases can provide you with billions of keywords enriched with historical keyword data: search volume, competition, and more.
Note that historical data is available starting from 09-2021.
This database is available in JSON format only.
Click here to download a database sample for the US location, English language.
You can also download the full list of supported locations and languages in the CSV format (last updated 2024-07-17).
The database in JSON contains data structured like in the example below:
{ "keyword": "huckleberry bookstore", "location": 2124, "language": "fr", "spell": null, "spell_type": null, "keyword_info_history": { "202203": { "search_volume": 480, "cpc": null, "competition": 0.12, "competition_level": "LOW", "low_top_of_page_bid": null, "high_top_of_page_bid": null, "time_update": "2022-05-10T19:17:54.2726860Z", "categories": [], "history": { "202105": 390, "202106": 390, "202107": 390, "202108": 390, "202109": 390, "202110": 390, "202111": 590, "202112": 880, "202201": 590, "202202": 390, "202203": 480, "202204": 480 } }, "202204": { "search_volume": 480, "cpc": null, "competition": 0.12, "competition_level": "LOW", "low_top_of_page_bid": null, "high_top_of_page_bid": null, "time_update": "2022-06-02T23:21:21.7580528Z", "categories": [], "history": { "202105": 390, "202106": 390, "202107": 390, "202108": 390, "202109": 390, "202110": 390, "202111": 590, "202112": 880, "202201": 590, "202202": 390, "202203": 480, "202204": 480 } }, "202205": { "search_volume": 480, "cpc": null, "competition": 0.06, "competition_level": "LOW", "low_top_of_page_bid": null, "high_top_of_page_bid": null, "time_update": "2022-06-15T14:14:14.8835515Z", "categories": [], "history": { "202106": 390, "202107": 390, "202108": 390, "202109": 390, "202110": 390, "202111": 590, "202112": 880, "202201": 590, "202202": 390, "202203": 480, "202204": 480, "202205": 480 } }, "202206": { "search_volume": 480, "cpc": null, "competition": 0.13, "competition_level": "LOW", "low_top_of_page_bid": null, "high_top_of_page_bid": null, "time_update": "2022-07-12T18:44:24.3630256Z", "categories": [], "history": { "202107": 390, "202108": 390, "202109": 390, "202110": 390, "202111": 590, "202112": 880, "202201": 590, "202202": 390, "202203": 480, "202204": 480, "202205": 480, "202206": 390 } }, "202302": { "search_volume": 480, "cpc": null, "competition": 0.23, "competition_level": "LOW", "low_top_of_page_bid": null, "high_top_of_page_bid": null, "time_update": "2023-03-21T23:09:18.9404970Z", "categories": [ 10016, 10141, 10763, 10108, 10112, 10609 ], "history": { "202203": 390, "202204": 480, "202205": 390, "202206": 390, "202207": 390, "202208": 390, "202209": 390, "202210": 480, "202211": 590, "202212": 880, "202301": 590, "202302": 480 } } }, "extra": { "core_keyword": null, "detected_language": "en", "keyword_difficulty": 15 }, "search_intent_info": { "main_intent": "commercial", "foreign_intent": [], "last_updated_time": "2023-03-04T13:14:40.0735962Z" } }
Description of the fields in the database:
Field name | Type | Description |
---|---|---|
keyword |
string | keyword UTF-8 encoding applies |
location |
integer | location code unique identifier of the corresponding location you can receive the list of available locations with their location_code by a GET request tohttps://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840 corresponds to the United States |
language |
string | language code unique identifier of the language available for the corresponding location you can receive the list of available locations with their language_code by a GET request tohttps://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en corresponds to English |
spell |
string | autocorrection of the search engine if the search engine provided results for a keyword that was corrected, we will provide the keyword corrected by the search engine and the type of autocorrection |
spell_type |
string | type of autocorrection possible values: did_you_mean , showing_results_for , no_results_found_for
|
keyword_info_history |
object | historical keyword data for the returned keyword |
$date |
object | date variable provided in the “YYYYMM” format example: "202109" |
search_volume |
integer | average monthly search volume rate represents either the approximate number of searches for the given keyword idea on google.com or google.com and partners, depending on the user’s targeting |
cpc |
float | cost-per-click represents the average cost per click (USD) historically paid for the keyword note that Google Ads does not provide separate CPC data; this field returns values based on data from high_top_of_page_bid supplied in Google Ads |
competition |
float | competition represents the relative amount of competition associated with the given keyword; the value is based on Google Ads data and can be between 0 and 1 (inclusive) |
competition_level |
string | competition level represents the relative level of competition associated with the given keyword in paid SERP only; possible values: LOW , MEDIUM , HIGH if competition level is unknown, the value is null ;learn more about the metric in this help center article |
low_top_of_page_bid |
float | minimum bid for the ad to be displayed at the top of the first page indicates the value greater than about 20% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers) the value may differ depending on the location specified in a POST request |
high_top_of_page_bid |
float | maximum bid for the ad to be displayed at the top of the first page indicates the value greater than about 80% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers) the value may differ depending on the location specified in a POST request |
time_update |
string | date and time when keyword data was last updated in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ” example: 2020-09-12T00:07:43.0733218Z |
categories |
array | product and service categories you can download the full list of possible categories |
history |
object | monthly searches represents the (approximate) number of searches on the returned keyword in the given location for 4 years preceding the $date variable;example: "202109":40
|
extra |
array | additional information about the keyword |
core_keyword |
string | main keyword in a group contains the main keyword in a group of keywords that share similarities across the keyword_info parametersif the value is null , our database does not contain any keywords that match these criteria |
synonym_clustering_algorithm |
string | the algorithm used to identify synonyms possible values: keyword_metrics – indicates the algorithm based on keyword_info parameterstext_processing – indicates the text-based algorithmif the value is null , our database does not contain any keywords the corresponding algorithm could identify as synonymous with keyword |
detected_language |
string | detected language of the keyword indicates the language of the keyword as identified by our system |
keyword_difficulty |
integer | difficulty of ranking in the first top-10 organic results for a keyword indicates the chance of getting in top-10 organic results for a keyword on a logarithmic scale from 0 to 100; calculated by analysing, among other parameters, link profiles of the first 10 pages in SERP; learn more about the metric in this help center guide |
search_intent_info |
object | search intent info for the returned keyword learn about search intent in this help center article |
main_intent |
string | main search intent possible values: informational , navigational , commercial , transactional
|
foreign_intent |
array | supplementary search intents possible values: informational , navigational , commercial , transactional
|
last_updated_time |
string | date and time when search intent data was last updated in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ” example: 2022-09-12T00:07:43.0733218Z |